Digital fingerprints generated from coil brazing

ABSTRACT

A system is configured to receive video footage of evaporator coil slabs after they exit an automated coil brazer. The system is further configured to convert the video footage to greyscale and isolate frames from the greyscale video footage. Each frame comprises an image of a different evaporator coil slab. The system is further configured to generate a first digital fingerprint comprising a binary feature vector for each point in a first subset of feature points from the first frame, and generate a second digital fingerprint comprising a binary feature vector for each point in a second subset of feature points from the second frame.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/644,132 filed Dec. 14, 2021, which is a continuation of U.S. patentapplication Ser. No. 17/035,585 filed Sep. 28, 2020, now U.S. Pat. No.11,232,552 issued Jan. 25, 2022, by Satish Seshayya et al., and entitled“DIGITAL FINGERPRINTS GENERATED FROM COIL BRAZING,” which isincorporated herein by reference.

TECHNICAL FIELD

This disclosure relates generally to image analysis. More specifically,this disclosure relates to digital fingerprints generated from coilbrazing.

BACKGROUND

Mass production of evaporator coils uses automated brazing. Whilemanufacturing machines can produce consistent brazes, there arescenarios where the brazing completed by the machine is faulty. Forexample, wobble in the conveyor belt transporting components through thebrazing process may result in an abnormal brazing pattern. One of thetechnical challenges that occur when attempts are made to detectdefective coils during the automated brazing process is that directobservation of the components and the conveyor belt on which they rideis not possible given the high temperatures inside the brazing chamber.These high temperatures also preclude the use of tagging mechanisms likebarcodes because the high temperatures would alter or damage anytagging. Even when the coils are outside of the brazing chamber,tracking and identification is complicated by the introduction of avariety of fittings and additional tubing that obscures various sectionsof the evaporator coil.

SUMMARY OF THE DISCLOSURE

According to one embodiment, a system for generating digitalfingerprints from coil brazing comprises a camera and an analysis tool.The camera is configured to record video of evaporator coil slabs afterthey exit an automated coil brazer. The analysis tool comprises a memoryand a hardware processor. The memory is configured to store a cornerdetection algorithm and a binary descriptor algorithm. The hardwareprocessor is configured to receive video footage from the camera. Thehardware processor is further configured to convert the video footage togreyscale. The hardware processor is also configured to isolate a firstframe from the greyscale video footage, comprising an image of a firstevaporator coil slab. The hardware processor is further configured toisolate a second frame from the greyscale video footage, comprising animage of a second evaporator coil slab. The evaporator coil slabscomprise a plurality of brazed tube junctions. The hardware processor isfurther configured to use the corner detection algorithm to identify afirst plurality of feature points in the first frame and a secondplurality of feature points in the second frame. The hardware process isthen configured to determine that a first subset of feature pointsselected from the first plurality of feature points and a second subsetof feature points selected from the second plurality of feature pointsare rotationally invariant. A point is rotationally invariant if itremains identifiable in images of the slab taken from a different angle.The hardware processor is further configured to apply the binarydescriptor algorithm to the first subset of feature points to generate afirst digital fingerprint comprising a binary feature vector for eachpoint in the first subset of feature points. The hardware processor isalso configured to apply the binary descriptor algorithm to the secondsubset of feature points to generate a second digital fingerprintcomprising a binary feature vector for each point in the second subsetof feature points.

Certain embodiments provide one or more technical advantages. As anexample, an embodiment improves the tracking of HVAC evaporator coilcomponents through high-heat processes like brazing metal tubing. Someembodiments generate digital fingerprints that permit the tracking ofcomponents even when additional components are added to the apparatusunder construction. In other embodiments, the digital fingerprinttracking system may also be used to identify production process defectsby pinpointing when and where errors were made in the productionprocess.

The system described in this disclosure may be integrated into apractical application of an image recognition system that can generatedigital fingerprints and a component tracking system that can be used tofollow HVAC evaporator coil slabs through the production process ofevaporator coils. For example, the disclosed systems can develop adigital fingerprint from rotationally invariant feature points.Additionally, the disclosed systems can match digital fingerprints toframes extracted from a continuous video feed, even where componentspartially obscure the matching points.

Certain embodiments of the present disclosure may include some, all, ornone of these advantages. These advantages and other features will bemore clearly understood from the following detailed description taken inconjunction with the accompanying drawings and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of this disclosure, reference is nowmade to the following brief description, taken in connection with theaccompanying drawings and detailed description, wherein like referencenumerals represent like parts.

FIG. 1 illustrates an example system for component tracking usingdigital fingerprints;

FIG. 2 is an operational flow diagram of an example method for digitallyfingerprinting heating, ventilation, and air conditioning (HVAC) coilsand tracking coil components through the manufacturing process;

FIG. 3 is a flowchart of an example method for generating digitalfingerprints from coil brazing;

FIG. 4A illustrates feature detection in the fingerprinting process;

FIG. 4B illustrates feature detection in the fingerprinting processafter isolating unique feature points;

FIG. 5 illustrates the identification of rotationally invariant featuresusing binary descriptors;

FIG. 6 is a flowchart of an example method for tracking components in anautomated production of evaporator coils;

FIG. 7 illustrates the comparison of a first digital fingerprint to acoil slab image that does not match;

FIG. 8 illustrates the comparison of the first digital fingerprint to acoil slab image that matches;

FIG. 9 illustrates the comparison of the first digital fingerprint to anevaporator coil image that does not contain a matching slab;

FIG. 10 illustrates the comparison of the first digital fingerprint toan evaporator coil image that contains a matching slab;

FIG. 11 illustrates the comparison of a second digital fingerprint to anevaporator coil image that does not match;

FIG. 12 illustrates the comparison of the second digital fingerprint toan evaporator coil image that matches;

FIG. 13 illustrates the comparison of a third digital fingerprint to anevaporator coil image that does not match; and

FIG. 14 illustrates the comparison of the third digital fingerprint toan evaporator coil image that matches.

DETAILED DESCRIPTION System Overview

FIG. 1 illustrates an example system 100 for component tracking usingdigital fingerprints. In one embodiment, the system 100 comprises aproduction line 102, a fingerprinting server 104, cameras 106, andnetwork 108. The system 100 may be configured as shown in FIG. 1 or inany other suitable configuration. The components of system 100communicate through network 108. This disclosure contemplates network108 being any suitable network operable to facilitate communicationbetween the components of the system 100. Network 108 may include anyinterconnecting system capable of transmitting audio, video, signals,data, messages, or any combination of the preceding. Network 108 mayinclude all or a portion of a public switched telephone network (PSTN),a public or private data network, a local area network (LAN), ametropolitan area network (MAN), a wide area network (WAN), a local,regional, or global communication or computer network, such as theInternet, a wireline or wireless network, an enterprise intranet, or anyother suitable communication link, including combinations thereof,operable to facilitate communication between the components.

The component tracking system 100 is generally configured to use cameras106 to monitor the progress of components as they are incorporated intoan end-product on production line 102. The fingerprinting server 104 isconfigured to use video from cameras 106 to construct a unique digitalfingerprint for each component that will allow tracking of through thefinal product. The fingerprinting server 104 is also capable ofdynamically processing videos to read the digital fingerprints even whensubsequent steps in the production line 102 may obscure parts of thecomponent for which the digital fingerprint was generated. In this way,the disclosed system 100 may be incorporated into a system foridentifying production issues stemming from malfunctions in productionline equipment that might be incapable of direct observation. A furtherpractical application of the disclosed systems and methods is a systemfor locating component batches after they are incorporated into anend-product, when the components suffer from production defects.

The ensuing discussion of system 100 uses HVAC evaporator coilproduction for illustrative purposes. However, the component trackingmethods may be applied in other contexts.

Production Line

The example production line 102 in the example system 100 comprises anautomatic brazer 112, a staging area 114, a coil assembly station 116, afitting addition station 118, a manual brazing station 120, and a leaktest station 122. The automatic brazer 112 is any robot configured tojoin metal parts via brazing or soldering. For example, the automaticbrazer 112 may be configured to braze copper tubing joints on a HVACevaporator coil slab. The automatic brazer 112 may be configured tobraze a variety of metals at a variety of temperatures.

The staging area 114 is any area dedicated to storing components afterthey exit the automatic brazer 112 but before they move to the coilassembly area 116. For example, when the production line 102 is formanufacturing HVAC evaporator coils, the staging area 114 may store aplurality of slab coils that are awaiting assembly into coils. The coilassembly area is a where two slabs are joined together in a “V” shape tocreate an evaporator coil. Once the base “V” shape is created,additional tubing, wiring, and/or other fittings are installed in thefitting addition area 118. Additional tubing may be manually brazed inthe manual brazing area 120. Once an HVAC evaporator coil is completed,a leak test is conducted in the leak test area 122 to identify anyfaulty brazing junctions.

Camera Network

The cameras 106 may be any device capable of capturing a motion pictureand transmitting video data 110 to the fingerprinting server 104. Thecameras 106 may record video in any of a number of file formats. Forexample, the cameras 106 may record video as a .mov, .wmv, .viv, .mp4,.mpg, .m4v, .fly formats. Those of ordinary skill in the art willrecognize that a variety of other file formats may also be suitable.Each camera 106 is located so that it can capture a different part of amanufacturing process. This allows the disclosed system to identifycomponents and track them throughout the manufacturing process.

For example, the camera 106 a may be configured to record video data 110a of evaporator coil slabs after they exit an automatic brazer 112. Thecamera 106 b may be configured to record video data 110 b of evaporatorcoils that are stored in a staging area 114. The camera 106 c may beconfigured to record video data 110 c of an apparatus in a firstassembled state. In the evaporator coil example, the first assembledstate comprises two evaporator coil slabs joined together in a “V”shape. The camera 106 d may be configured to record video data 110 d ofapparatuses in a second assembled state. The second assembled state maygenerally comprise apparatuses in the first assembled state combinedwith a third component. The third component may be of the first type,the second type, or a third type. In the evaporator coil example, thesecond assembled state may comprise the coil slabs in the “V” shape withthe addition of extra metal tubing. The camera 106 e may be configuredto record video data 110 e of apparatuses in a third assembled state.The third assembled state may generally comprise apparatuses in thesecond assembled state, and wherein a color and/or texture change hasoccurred on the surface of one or more regions of the apparatuses in thesecond assembled state. In the evaporator coil example, the thirdassembled state may comprise the second assembled state wherein thecoloring of portions of the second assembled state were altered by theheat of a brazing process. The camera 106 f may be configured to recordvideo data 110 f of apparatuses in a tested state. The tested state maygenerally comprise the third assembled state that has been subject to aquality control test or a fully assembled state that has been subject tothe quality control test. In the evaporator coil example, the testedstate may comprise a fully assembled evaporator coil that has completeda leak test.

The cameras 106 should be generally configured in their respective zonesto capture video from an angle that provides a view of the fingerprintedregion or regions of the components and/or products. The discussion ofFIGS. 2-14 provides details on what is meant by fingerprinted regions.As will be appreciated from that discussion, the positioning of thecameras 106 in relation to the production line 102 as well as inrelation to one another will depend on the nature of the production line102 and the components used therein.

Fingerprinting Server

Fingerprinting server 104 is configured to receive video data 110 fromthe cameras 106. The fingerprinting server 104 is generally configuredto use the video data 110 to generate unique digital fingerprints forcomponents used on the production line 102. The fingerprinting server104 is further configured to track individual components through aproduction process on production line 102 using the unique digitalfingerprints. An example embodiment of fingerprinting server 104comprises a processor 124, a network interface 126, and a memory 128.

The processor 124 comprises one or more processors operably coupled tothe memory 128. The processor 124 is any electronic circuitry including,but not limited to, state machines, one or more central processing unit(CPU) chips, logic units, cores (e.g. a multi-core processor),field-programmable gate array (FPGAs), application specific integratedcircuits (ASICs), or digital signal processors (DSPs). The processor 124may be a programmable logic device, a microcontroller, a microprocessor,or any suitable combination of the preceding. The one or more processorsare configured to process data and may be implemented in hardware orsoftware. For example, the processor 124 may be 8-bit, 16-bit, 32-bit,64-bit or of any other suitable architecture. The processor 124 mayinclude an arithmetic logic unit (ALU) for performing arithmetic andlogic operations, processor registers that supply operands to the ALUand store the results of ALU operations, and a control unit that fetchesinstructions from memory and executes them by directing the coordinatedoperations of the ALU, registers and other components.

The one or more processors 124 are configured to implement variousinstructions. For example, the one or more processors 124 are configuredto execute one or more set of instructions 133 to implement afingerprinting module 134 and one or more set of instructions 135 toimplement a component tracking module 136. In this way, processor 124may be a special purpose computer designed to implement the functionsdisclosed herein. In an embodiment, the fingerprinting module 134 andcomponent tracking module 136 are implemented using logic units, FPGAs,ASICs, DSPs, or any other suitable hardware. For example, fingerprintingmodule 134 may be configured to perform any of the steps of the method300 described in FIG. 3 . The component tracking module 136 may beconfigured to perform any of the steps of the method 600 described inFIG. 6 .

The network interface 126 is configured to enable wired and/or wirelesscommunications. The network interface 126 is configured to communicatedata between the fingerprinting server 104 and other devices (e.g.,cameras 106), systems, or domains. For example, the network interface126 may comprise a WIFI interface, a LAN interface, a WAN interface, amodem, a switch, or a router. The processor 124 is configured to sendand receive data using the network interface 126. The network interface126 may be configured to use any suitable type of communication protocolas would be appreciated by one of ordinary skill in the art.

Memory 128 comprises one or more disks, tape drives, or solid-statedrives, and may be used as an over-flow data storage device, to storeprograms when such programs are selected for execution, and to storeinstructions and data that are read during program execution. The memory128 may be volatile or non-volatile and may comprise read-only memory(ROM), random-access memory (RAM), ternary content-addressable memory(TCAM), dynamic random-access memory (DRAM), and static random-accessmemory (SRAM).

The memory 128 is operable to store a corner detection algorithm 130, abinary descriptor algorithm 132, instructions 133 for implementing afingerprinting module 134, instructions 135 for implementing a componenttracking module 136, a plurality of filtering algorithms 138, and acomponent database 140.

Corner detection algorithm 130 may be one of a variety of algorithmsdesigned to detect corners (i.e., the intersection of two edges in animage) or an interested point (i.e., a point in an image with awell-defined position such as a point of local intensity). Examplesinclude the Harris corner detector, smallest univalue segmentassimilating nucleus (SUSAN) detector, and accelerated segment tests(including the features-from-accelerated-segment test (FAST)). Binarydescriptor algorithm 132 is a feature matching algorithm such as a scaleinvariant feature transform (SIFT), speed up robust feature (SURF),binary-robust-independent-elementary-features (BRIEF) point descriptor,and Oriented FAST and Rotated Brief (ORB). The operation offingerprinting module 134 is discussed in more detail in FIGS. 2-5 . Theoperation of component tracking module 136 is discussed in more detailin FIGS. 2, 6-14 . Filtering algorithms 138 are signal processingalgorithms that can be used to process images from cameras 106 beforeperforming feature detection steps. For example, the filteringalgorithms 138 may be selected from a mean shift algorithm, a Kalmanalgorithm, a centroid filter algorithm, or any combination thereof.

Component database 140 is generally configured to track components thatare used in production line 102 and to associate digital fingerprintsbetween individual components and larger apparatuses in which thosecomponents are incorporated. Specifically, the component database 140may comprise a plurality of fingerprint registers 142 which linkstogether fingerprints generated at different stages of the manufacturingprocess. For example, the example a fingerprint register 142 comprisesfingerprints 144 a and 144 b that represent digital fingerprintsassociated with two different evaporator coil slabs. When those twoslabs are combined to build the initial “V”-shaped evaporator coil,another fingerprint 146 is generated. The fingerprint register 142includes an indication linking fingerprints 144 and 146 so that thecomponents may be tracked as more pieces are added to the evaporatorcoil. At the next phase of the production cycle a fingerprint 148 isgenerated and linked to the fingerprints 144 and 146 in the fingerprintregister 142. Likewise, the fingerprint 150 generated at the ensuingphase of production is associated with the fingerprints 144, 146, and148 in the fingerprint register 142. Each component will be added to afingerprint register 142 after a fingerprint is registered. Ultimately,each apparatus produced on production line 102 will have its ownfingerprint register 142 that lists each component and the associateddigital fingerprints. In some embodiments, the component database willalso include a date and time 154 when components and partially or fullyconstructed apparatuses passed through particular stages of productionline 102.

Operational Flow of HVAC Fingerprinting

FIG. 2 is an operational flow diagram of an example method for digitallyfingerprinting heating, ventilation, and air conditioning (HVAC) coilsand tracking coil components through the manufacturing process. Both themethod 300 described in FIG. 3 and the method 600 described in FIG. 6may be performed in the operational flow 200 of FIG. 2 . The process ofgenerating digital fingerprints for manufactured goods and the method300 of FIG. 3 are discussed first. FIG. 3 is a flowchart of an examplemethod for generating digital fingerprints from coil brazing. Referencesare made to the operational flow 200 to better illustrate the method 300described in FIG. 3 .

The operational flow 200 picks up after an evaporator coil slab 201emerges from the automatic brazer 112. The camera 106 a is configured torecord video 202 of an evaporator coil slab 201—and other similar coilslabs emerging as part of a continuous production process—after itemerges from the automatic brazer 112. The method 300 of FIG. 3 beginshere when the camera 106 a sends video data 110 a to the fingerprintingserver 104 at step 302. Then, at step 304, the fingerprinting server 104converts the video footage (i.e., video 202) from the received videodata 110 a to greyscale at step 304. Step 304 further comprisesisolating still frames from the video data 110 of individual coil slabs201. For example, step 304 may result in isolating a first framecomprising a first evaporator coil slab and isolating a second framecomprising a second evaporator coil slab. Each frame comprises a view ofbrazed tube junctions.

The method 300 then proceeds to step 306 where a plurality of featurepoints are identified in each frame isolated at step 304. Feature pointsmay be edges, including junctions and any set of point having a stronggradient magnitude; corners, broadly encompassing interest points thatare not “corners” in the traditional sense; blobs, ridges, etc. Forexample, some embodiments identify the feature points using a cornerdetection algorithm 130. FIG. 4A and 4B illustrate what occurs at step306. In FIG. 4A, the fingerprinting server 104 has isolated a stillframe 400 of an evaporator coil slab 402 (e.g., coil slab 201). Featurepoints 408 have been identified using FAST (i.e., a corner detectionalgorithm 130). FIG. 4A illustrates the initial results of applying theFAST algorithm while FIG. 4B, with its lower density of feature points408, illustrates the elimination of feature points that contributeinsufficient uniqueness. The sufficiency of uniqueness may be determinedby comparison to a threshold programmed by the user.

Returning to FIG. 3 , the method 300 proceeds to step 308 where thefingerprinting server 104 generates a digital fingerprint for each coilslab based on a binary feature vector of feature points 408 identifiedat the previous step. For example, the fingerprinting server 104determines that a subset of feature points 408 selected from theplurality of feature points 408 are rotationally invariant. A featurepoint 408 is considered rotationally invariant if it remainsidentifiable in images of the slab taken from a different angle. Abinary descriptor algorithm (e.g., BRIEF descriptor) is then applied torotationally invariant subset of feature points 408 to generate a firstdigital fingerprint comprising a binary feature vector for each point inthe first subset of feature points. FIG. 5 provides a visualrepresentation of this step. The squares, diamonds, circles, andtriangles represent different types of feature points 408. Shapes thatare empty (i.e., not shaded) have a low confidence level for serving asa unique identifier and thus will factor less into the resulting binaryfeature vectors generated by the application of a binary descriptor likeBRIEF. The shaded shapes are feature points 408 with a high confidencelevel of uniqueness. In this way a digital fingerprint is generated fromeach image of an evaporator coil slab 201 that proceeds throughproduction line 102.

Returning to the operational flow 200, the digital fingerprint generatedat step 308 of method 300 is represented by box 203. The evaporator coilslabs 201 may be stored in a staging area 114 before they areincorporated into a “V” shaped evaporator coil base 204 (i.e., a firstassembled state) at coil assembly area 116. The coil base 204 comprisestwo coil slabs 201. After assembly at coil assembly area 116, the camera106 c captures video 206 of the coil base 204. Fingerprinting server 104receives the video 206 as video data 110 c. It then converts the videofootage 206 to greyscale. The fingerprinting server 104 then isolates,from the greyscale video footage 206, an image of the coil base 204. Thefingerprinting server 104 then determines that a first coil slab 201 inthe evaporator coil base 204 is associated with a first digitalfingerprint 203 and that a second coil slab 201 in the evaporator coilbase 204 is associated with a second digital fingerprint 203. Thefingerprinting server 104 is further configured to generate afingerprint 208 comprising the first and second fingerprints 203.

Next, the coil bases 204 receive additional fittings (e.g., additionalmetal tubing on the exterior of one or both coil slabs 201) to create asecond assembled state 210. The camera 106 d records video 212 of theapparatuses in the second assembled state 210. Fingerprinting server 104receives the video 212 as video data 110 d. It then converts the videofootage 212 to greyscale. The fingerprinting server 104 then isolates,from the greyscale video footage 212, an image of the second assembledstate 210. The fingerprinting server 104 then identifies a plurality offeature points in the image of the second assembled state 210. It thendetermines that a subset of feature points selected from the pluralityof feature points identified in the image of the second assembled state210 are rotationally invariant. The fingerprinting server 104 thenapplies the binary descriptor algorithm (e.g., BRIEF) to the subset offeature points selected from the plurality of feature points identifiedin the image of the second assembled state 210 to generate a fingerprint214. The fingerprint 214 comprises a binary feature vector for eachpoint in the subset of feature points selected from the plurality offeature points identified in the image of the second assembled state210.

The fingerprinting server 104 may also determine that the coil base 204that is in the second assembled state 210 is associated with a digitalfingerprint 208. The fingerprinting server 104 then updates afingerprint register 142 in the component database 140 to link thedigital fingerprint 214 with the digital fingerprint 208.

The apparatuses in the second assembled state 210 may then go through amanual brazing process in a manual brazing area 120. After brazing iscomplete, the camera 106 e may record video 218 of the apparatuses in athird assembled state 216. The third assembled state 216 comprises thesecond assembled state 210 wherein the additional tubing has beenbrazed. The camera 106 e records video 218 of the apparatuses in thethird assembled state 216. Fingerprinting server 104 receives the video218 as video data 110 e. It then converts the video footage 218 togreyscale. The fingerprinting server 104 then isolates, from thegreyscale video footage 218, an image of the third assembled state 216.The fingerprinting server 104 then identifies a plurality of featurepoints in the image of the third assembled state 216. It then determinesthat a subset of feature points selected form the plurality of featurepoints identified in the image of the third assembled state 216 arerotationally invariant. The fingerprinting server 104 then applies thebinary descriptor algorithm (e.g., BRIEF) to the subset of featurepoints selected from the plurality of feature points identified in theimage of the third assembled state 216 to generate a fingerprint 220.The fingerprint 200 comprises a binary feature vector for each point inthe subset of feature points selected from the plurality of featurepoints identified in the image of the image of the third assembled state216.

The fingerprinting server 104 may also determine that the apparatus inthe third assembled state is associated with fingerprint 208 and/orfingerprint 214. The fingerprinting server 104 then updates afingerprint register 142 in the component database 140 to link thedigital fingerprint 220 with fingerprint 203, fingerprint 208, andfingerprint 214.

Once the evaporator coil is completed, the coil is subjected to one ormore quality control tests in the leak test area 122. As will beexplained in FIG. 6 , the digital fingerprints 203, 208, 214, and 220can be used to identify batches of defective components when it isdetermined that a quality control test performed in leak test area 122if failed.

Component Tracking Using Digital Fingerprints

The method 600 described in FIG. 6 may be performed in the operationalflow of FIG. 2 . FIG. 6 is a flowchart of an example method for trackingcomponents in an automated production of evaporator coils. The method600 picks up in operational flow 200 after the evaporator coil base 204is assembled. At step 602 of the method 600, the fingerprinting server104 receives an indication that an apparatus in the first assembledstate (e.g., evaporator coil base 204) should comprise a component(e.g., a coil slab 201) with a first digital fingerprint (i.e., a firstfingerprint 203) and a component (e.g., a second coil slab 201) with asecond digital fingerprint (i.e., a second fingerprint 203). Thefingerprinting server 104 then receives video footage 206 of theevaporator coil base 204 from camera 106 c at step 604. At step 604, thefingerprinting server 104 converts the video footage 206 to greyscale.

The fingerprinting server 104 then proceeds to step 608 where itisolates, from the greyscale video footage 206, a first frame comprisingan image of an apparatus in the first assembled state (i.e., anevaporator coil base 204). At step 610 this frame is split into a secondframe comprising the first component of the first type, and a thirdframe comprising the second component (which is either of the first typeor of the second type). For example, the second frame may comprise afirst coil slab 201 and third frame may comprise a second coil slab 201.The fingerprinting server 104 then applies one or more filteringalgorithms 138 to the second and third frames to generate a first andsecond filtered image at step 612. In one embodiment, the filteringalgorithm 138 is selected from a mean shift algorithm, a centroidfilter, and a Kalman filter. At step 614 the fingerprinting server 104generates a first set of feature points from the first filtered imageand a second set of feature points from the second filtered image.Feature detection occurs using the corner detection algorithm 130 andbinary descriptor algorithm 132 as described above for the digitalfingerprint generation.

The fingerprinting server 104 then determines at step 616 that the firstset of feature points from the first filtered image matches the featurepoints comprising the first digital fingerprint (i.e., the firstfingerprint 203). This step may comprise identifying feature points orgroups of feature points in the first set of feature points from thefirst filtered image that have some similarity to feature points orgroups of feature points in the first digital fingerprint; assigning aconfidence interval to each of the identified feature points or groupsof feature points having some similarity; calculating a correlationvalue, comprising the number of sets of similar points or groups ofpoints whose confidence interval exceeds a first threshold; anddetermining that the correlation value exceeds a second threshold. Thisprocess is generically illustrated using FIGS. 7 and 8 . FIG. 7illustrates the comparison of a first digital fingerprint 702 to a coilslab image 704 that does not match. Each of the lines 706 represents amatch between a feature point in the digital fingerprint 702 and theimage 704. Matches of a high confidence are solid and low-confidencematches are dashed or dotted lines. As illustrated in FIG. 7 , the linesare low density, and mostly of low confidence. This indicates that thefingerprint 702 is not a match to the coil slab in the image 704. Incontrast, the FIG. 8 illustrates the comparison of the first digitalfingerprint 702 to a coil slab image 802 that matches. The lines betweenfeature points are high density, and the matches are mainly highconfidence (i.e., solid lines). This indicates that the fingerprint 702is a match to the coil slab in the image 802.

While FIGS. 7 and 8 generally illustrate the fingerprint matchingprocess, FIGS. 9 and 10 illustrate how this is done when dealing with anevaporator coil base 204 rather than individual evaporator coil slabs201. FIG. 9 illustrates the comparison of the first digital fingerprint702 to an evaporator coil image 902 that does not contain a matchingslab 904 a or 904 b, and FIG. 10 illustrates the comparison of the firstdigital fingerprint 702 to an evaporator coil image 1002 that contains amatching slab 1004 b.

Returning to FIG. 6 , step 616 further comprises determining that thesecond set of feature points from the second filtered image matches thefeature points comprising the second digital fingerprint (i.e., thesecond fingerprint 203). This step may comprise identifying featurepoints or groups of feature points in the second set of feature pointsfrom the second filtered image that have some similarity to featurepoints or groups of feature points in the second digital fingerprint;assigning a confidence interval to each of the identified feature pointsor groups of feature points having some similarity; calculating acorrelation value, comprising the number of sets of similar points orgroups of points whose confidence interval exceeds a first threshold;and determining that the correlation value exceeds a second threshold.The is the same process as just explained for the first set of featurepoints.

Finally, method 600 proceeds to step 618 where the fingerprinting server104 updates a component database 140 with a third digital fingerprint(e.g., fingerprint 208 stored in the memory 128 as fingerprint 146)based on the apparatus in the first assembled state, a date and time 154when the apparatus in the first assembled state was assembled, and anindication (e.g., in fingerprint register 142) that the apparatus in thefirst assembled state is associated with the first (i.e., the firstfingerprint 203) and second (i.e., the second fingerprint 203) digitalfingerprints.

The fingerprint analysis occurs again each time the apparatus (e.g.,coil base 204) is further modified. Such matching operations areillustrated in FIGS. 11-14 . FIG. 11 illustrates the comparison of asecond digital fingerprint 1102 to an evaporator coil image 1104 thatdoes not match, as evidenced by the small number of feature pointmatches and the low confidence of the matches as shown by the prevalenceof dashed rather than solid lines. FIG. 12 illustrates the comparison ofthe second digital fingerprint 1102 to an evaporator coil image 1202that matches. In contrast to FIG. 11 , this is a match based on thenumerous solid lines indicating a high confidence in the feature pointmatch determinations. FIG. 13 illustrates the comparison of a thirddigital fingerprint 1302 to an evaporator coil image 1304 that does notmatch, as evidenced by the small number of feature point matches and thelow confidence of the matches as shown by the prevalence of dashedrather than solid lines. FIG. 14 illustrates the comparison of the thirddigital fingerprint 1302 to an evaporator coil image 1402 that matches.In contrast to FIG. 3 , this match is based on multiple solid lines andonly a few dashed lines.

Specifically, when the coil base 204 receives additional tubing andfittings, creating a second assembled state 210, the fingerprintingserver 104 will receive an indication that an apparatus in the secondassembled state should comprise an apparatus in the first assembledstate 204 with the third digital fingerprint (i.e., fingerprint 208).The fingerprinting server 104 will then receive video footage 212 fromthe camera 106 d. It then converts the video footage 212 to greyscale.The fingerprinting server 104 then isolates a fourth frame comprising animage of an apparatus in the second assembled state 210 from thegreyscale video footage 212. At least one filtering algorithm 138 isapplied to the fourth frame to generate a third filtered image. Thefingerprinting server 104 then generates a third set of feature pointsfrom the fourth filtered image. The fingerprinting server 104 is thenconfigured to determine that the third set of feature points from thefourth filtered image matches feature points comprising the thirddigital fingerprint (i.e., the fingerprint 208). This step may compriseidentifying feature points or groups of feature points in the third setof feature points from the fourth filtered image that have somesimilarity to feature points or groups of feature points in the thirddigital fingerprint; assigning a second confidence interval to each ofthe identified feature points or groups of feature points having somesimilarity; calculating a second correlation value, comprising thenumber of sets of similar points or groups of points whose confidenceinterval exceeds the first threshold; and determining that the secondcorrelation value exceeds the second threshold. This is the same processas described for the other feature comparison steps.

Finally, the fingerprinting server 104 updates the component database140 with a fourth digital fingerprint (e.g., fingerprint 214 stored inthe memory 128 as fingerprint 148) based on the apparatus in the secondassembled state, a date and time 154 when the apparatus in the secondassembled state was assembled, an indication (e.g., in fingerprintregister 142) that the apparatus in the second assembled state isassociated with the first (i.e., the first fingerprint 203), second(i.e., the second fingerprint 203), and/or third (i.e., fingerprint 208)digital fingerprints.

The fingerprinting server 104 may further receive an indication that anapparatus in the third assembled state 216 should comprise an apparatusin the second assembled state 210 with the fourth digital fingerprint(i.e., fingerprint 214). For example, the tubing added to create thesecond assembled state 210 may be brazed, creating a third assembledstate 216. The fingerprinting server 104 may receive video footage 218from camera 106 e of the apparatus in the third assembled state 216. Thefingerprinting server 104 then converts the video footage 218 togreyscale. It then isolates a fifth frame comprising an image of anapparatus in the third assembled state 216 from the greyscale video 218.At least one filtering algorithm 138 is applied to the fifth frame togenerate a fifth filtered image. The fingerprinting server 104 thengenerates a fourth set of feature points from the fifth filtered image.The fingerprinting server 104 is then configured to determine that thefourth set of feature points from the fifth filtered image matches thefeature points comprising the fourth digital fingerprint (i.e., thefingerprint 214). This step may comprise identifying feature points orgroups of feature points in the fourth set of feature points from thefifth filtered image that have some similarity to feature points orgroups of feature points in the fourth digital fingerprint; assigning athird confidence interval to each of the identified feature points orgroups of feature points having some similarity; calculating a thirdcorrelation value, comprising the number of sets of similar points orgroups of points whose confidence interval exceeds the first threshold;and determining that the third correlation value exceeds the secondthreshold.

Finally, the fingerprinting server 104 update the component database 140with a fifth digital fingerprint (e.g., fingerprint 220 stored in thememory 128 as fingerprint 150) based on the apparatus in the thirdassembled state, a date and time 154 when the apparatus in the thirdassembled state was assembled, an indication (e.g., in fingerprintregister 142) that the apparatus in the second assembled state isassociated with the first (i.e., the first fingerprint 203), second(i.e., the second fingerprint 203), third (i.e., fingerprint 208),and/or fourth (i.e., fingerprint 214) digital fingerprints.

The fingerprinting server 104 may further receive an indication that anapparatus in a tested state 222 should comprise an apparatus in thethird assembled state 216 with the fifth digital fingerprint 220. Thefingerprinting server 104 may receive video footage 224 from the camera106 f The fingerprinting server 104 converts the video footage 224 togreyscale. It then isolates a sixth frame comprising an image of anapparatus in the tested state 222 from the greyscale video 224. At leastone filtering algorithm 138 is applied to the sixth frame to generate asixth filtered image. The fingerprinting server 104 then generates afifth set of feature points from the sixth filtered image. Thefingerprinting server 104 is then configured to determine that the fifthset of feature points from the sixth filtered image matches the featurepoints comprising the fifth digital fingerprint (i.e., the fingerprint220). This step may comprise identifying feature points or groups offeature points in the fifth set of feature points from the sixthfiltered image that have some similarity to feature points or groups offeature points in the fifth digital fingerprint; assigning a fourthconfidence interval to each of the identified feature points or groupsof feature points having some similarity; calculating a fourthcorrelation value, comprising the number of sets of similar points orgroups of points whose confidence interval exceeds the first threshold;and determining that the fourth correlation value exceeds the secondthreshold.

The fingerprinting server 104 is further configured to determine thatthat the apparatus in the tested state 222 did not pass the qualitycontrol test. For example, a completed and tested HVAC evaporator coilmay exhibit leaking at a brazing site. The fingerprinting server 104then determines the dates and times when the apparatus in the testedstate 222 was assembled in the first assembled state 204, assembled inthe second assembled state 210; and/or assembled in the third assembledstate 216. Finally, the fingerprinting server 104 may identify the otherapparatuses manufactured within a time window comprising the dates andtimes when the apparatus was assembled in the first assembled state 204,assembled in the second assembled state 210, and/or assembled in thethird assembled state 216.

While several embodiments have been provided in the present disclosure,it should be understood that the disclosed systems and methods might beembodied in many other specific forms without departing from the spiritor scope of the present disclosure. The present examples are to beconsidered as illustrative and not restrictive, and the intention is notto be limited to the details given herein. For example, the variouselements or components may be combined or integrated in another systemor certain features may be omitted, or not implemented.

In addition, techniques, systems, subsystems, and methods described andillustrated in the various embodiments as discrete or separate may becombined or integrated with other systems, modules, techniques, ormethods without departing from the scope of the present disclosure.Other items shown or discussed as coupled or directly coupled orcommunicating with each other may be indirectly coupled or communicatingthrough some interface, device, or intermediate component whetherelectrically, mechanically, or otherwise. Other examples of changes,substitutions, and alterations are ascertainable by one skilled in theart and could be made without departing from the spirit and scopedisclosed herein.

To aid the Patent Office, and any readers of any patent issued on thisapplication in interpreting the claims appended hereto, applicants notethat they do not intend any of the appended claims to invoke 35 U.S.C. §112(f) as it exists on the date of filing hereof unless the words “meansfor” or “step for” are explicitly used in the particular claim.

1. A system for generating digital fingerprints from coil brazing,comprising: a camera configured to record video of evaporator coil slabsafter they exit an automated coil brazer; an analysis tool comprising ahardware processor communicatively configured to: receive video footagefrom the camera, the footage comprising a plurality of evaporator coilslabs; convert the video footage to greyscale; isolate, from thegreyscale video footage: a first frame comprising an image of a firstevaporator coil slab, the coil slab comprising a plurality of brazedtube junctions; a second frame comprising an image of a secondevaporator coil slab, the coil slab comprising a plurality of brazedtube junctions; generate a first digital fingerprint comprising a binaryfeature vector for each point in a first subset of feature points fromthe first frame; and generate a second digital fingerprint comprising abinary feature vector for each point in a second subset of featurepoints from the second frame.
 2. The system of claim 1, furthercomprising: a second camera configured to record video of evaporatorcoils in a first assembled state, wherein the first assembled statecomprise two evaporator coil slabs joined together in a “V” shape; andwherein the hardware processor is further configured to: receive videofootage from the second camera; convert the video footage from thesecond camera to greyscale; isolate, from the greyscale video footagefrom the second camera, a third frame comprising an image of anevaporator coil in the first assembled state; determine that a firstcoil slab in the evaporator coil in the first assembled state isassociated with the first digital fingerprint and that a second coilslab in the evaporator coil is associated with the second digitalfingerprint; and generate a third digital fingerprint comprising thefirst and second digital fingerprints.
 3. The system of claim 2, furthercomprising: a third camera configured to record video of evaporatorcoils in a second assembled state, wherein the second assembled statecomprises the first assembled state and additional metal tubing on theexterior of one or both of the evaporator coil slabs; and wherein thehardware processor is further configured to: receive video footage fromthe third camera; convert the video footage from the third camera togreyscale; isolate, from the greyscale video footage from the thirdcamera, a fourth frame comprising an image of the evaporator coil in thesecond assembled state; identify a plurality of feature points in thefourth frame, the feature points comprising corners; determine that asubset of feature points selected from the plurality of feature pointsidentified in the fourth frame are rotationally invariant, wherein apoint is rotationally invariant if it remains identifiable in images ofthe coil taken from a different angle; generate a fourth fingerprintcomprising a binary feature vector for each point in a subset of featurepoints selected from a plurality of feature points identified in thefourth frame; determine that the evaporator coil in the second assembledstate is associated with the third digital fingerprint; and update adatabase to link the third fingerprint with the fourth fingerprint. 4.The system of claim 3, further comprising: a fourth camera configured torecord video of evaporator coils in a third assembled state, wherein thethird assembled state comprises the second assembled state wherein theadditional metal tubing has been brazed; and wherein the hardwareprocessor is further configured to: receive video footage from thefourth camera; convert the video footage from the fourth camera togreyscale; isolate, from the greyscale video footage from the fourthcamera, a fifth frame comprising an image of the evaporator coil in thethird assembled state; identify a plurality of feature points in thefifth frame, the feature points comprising corners; determine that asubset of feature points selected form the plurality of feature pointsidentified in the fifth frame are rotationally invariant, wherein apoint is rotationally invariant if it remains identifiable in images ofthe coil taken from a different angle; generate a fifth fingerprintcomprising a binary feature vector for each point in a subset of featurepoints selected from a plurality of feature points identified in thefifth frame; determine that the evaporator coil in the third assembledstate is associated with the third or fourth fingerprint; and update thedatabase to link the fifth fingerprint with the second, third, andfourth fingerprints.
 5. The system of claim 4, wherein: the secondcamera is located further along a production line than the first camera;the third camera is located further along the production line than thesecond camera; and the fourth camera is located further along theproduction line than the third camera.
 6. A method for generatingdigital fingerprints from coil brazing, comprising: receiving videofootage from a camera configured to record video of evaporator coilslabs after they exit an automated coil brazer, the footage comprising aplurality of evaporator coil slabs; converting the video footage togreyscale; isolating, from the greyscale footage: a first framecomprising an image of a first evaporator coil slab, the coil slabcomprising a plurality of brazed tube junctions; a second framecomprising an image of a second evaporator coil slab, the coil slabcomprising a plurality of brazed tube junctions; generating a firstdigital fingerprint comprising a binary feature vector for each point ina first subset of feature points from the first frame; and generating asecond digital fingerprint comprising a binary feature vector for eachpoint in a second subset of feature points from the second frame.
 7. Themethod of claim 6, further comprising: receiving video footage from asecond camera configured to record video of evaporator coils in a firstassembled state, wherein the first assembled state comprise twoevaporator coil slabs joined together in a “V” shape; converting thevideo footage from the second camera to greyscale; isolating, from thegreyscale video footage from the second camera, a third frame comprisingan image of an evaporator coil in the first assembled state; determiningthat a first coil slab in the evaporator coil in the first assembledstate is associated with the first digital fingerprint and that a secondcoil slab in the evaporator coil is associated with the second digitalfingerprint; and generating a third digital fingerprint comprising thefirst and second digital fingerprints.
 8. The method of claim 6, furthercomprising: receiving video footage from a third camera configured torecord video of evaporator coils in a second assembled state, whereinthe second assembled state comprises the first assembled state andadditional metal tubing on the exterior of one or both of the evaporatorcoil slabs; converting the video footage from the third camera togreyscale; isolating, from the greyscale video footage from the thirdcamera, a fourth frame comprising an image of the evaporator coil in thesecond assembled state; identifying a plurality of feature points in thefourth frame, the feature points comprising corners; determining that asubset of feature points selected from the plurality of feature pointsidentified in the fourth frame are rotationally invariant, wherein apoint is rotationally invariant if it remains identifiable in images ofthe coil taken from a different angle; generating a fourth fingerprintcomprising a binary feature vector for each point in a subset of featurepoints selected from a plurality of feature points identified in thefourth frame; determining that the evaporator coil in the secondassembled state is associated with the third digital fingerprint; andupdating a database to link the third fingerprint with the fourthfingerprint.
 9. The method of claim 8, further comprising: receivingvideo footage from a fourth camera configured to record video ofevaporator coils in a third assembled state, wherein the third assembledstate comprises the second assembled state wherein the additional metaltubing has been brazed; converting the video footage from the fourthcamera to greyscale; isolating, from the greyscale video footage fromthe fourth camera, a fifth frame comprising an image of the evaporatorcoil in the third assembled state; identifying a plurality of featurepoints in the fifth frame, the feature points comprising corners;determining that a subset of feature points selected form the pluralityof feature points identified in the fifth frame are rotationallyinvariant, wherein a point is rotationally invariant if it remainsidentifiable in images of the coil taken from a different angle;generating a fifth fingerprint comprising a binary feature vector foreach point in a subset of feature points selected from a plurality offeature points identified in the fifth frame; determining that theevaporator coil in the third assembled state is associated with thethird or fourth fingerprint; and updating the database to link the fifthfingerprint with the second, third, and fourth fingerprints.
 10. Anon-transitory computer readable medium storing instructions that whenexecuted by a hardware processor cause the hardware processor to:convert video footage, received from a camera configured to record videoof evaporator coil slabs after they exit an automated coil brazer, togreyscale; isolate, from the greyscale video footage: a first framecomprising an image of a first evaporator coil slab, the coil slabcomprising a plurality of brazed tube junctions; a second framecomprising an image of a second evaporator coil slab, the coil slabcomprising a plurality of brazed tube junctions; generate a firstdigital fingerprint comprising a binary feature vector for each point ina first subset of feature points from the first frame; and generate asecond digital fingerprint comprising a binary feature vector for eachpoint in a second subset of feature points from the second frame. 11.The non-transitory computer readable medium of claim 10, wherein theinstructions when executed by the hardware processor cause the hardwareprocessor to: convert video footage, received from a second cameraconfigured to record video of evaporator coils in a first assembledstate, wherein the first assembled state comprise two evaporator coilslabs joined together in a “V” shape, to greyscale; isolate, from thegreyscale video footage from the second camera, a third frame comprisingan image of an evaporator coil in the first assembled state; determinethat a first coil slab in the evaporator coil in the first assembledstate is associated with the first digital fingerprint and that a secondcoil slab in the evaporator coil is associated with the second digitalfingerprint; and generate a third digital fingerprint comprising thefirst and second digital fingerprints.
 12. The non-transitory computerreadable medium of claim 11, wherein the instructions when executed bythe hardware processor cause the hardware processor to: convert videofootage, received from a third camera configured to record video ofevaporator coils in a second assembled state, wherein the secondassembled state comprises the first assembled state and additional metaltubing on the exterior of one or both of the evaporator coil slabs, togreyscale; isolate, from the greyscale video footage from the thirdcamera, a fourth frame comprising an image of the evaporator coil in thesecond assembled state; identify a plurality of feature points in thefourth frame, the feature points comprising corners; determine that asubset of feature points selected from the plurality of feature pointsidentified in the fourth frame are rotationally invariant, wherein apoint is rotationally invariant if it remains identifiable in images ofthe coil taken from a different angle; generate a fourth fingerprintcomprising a binary feature vector for each point in the subset offeature points selected from the plurality of feature points identifiedin the fourth frame; determine that the evaporator coil in the secondassembled state is associated with the third digital fingerprint; andupdate a database to link the third fingerprint with the fourthfingerprint.
 13. The non-transitory computer readable medium of claim12, wherein the instructions when executed by the hardware processorcause the hardware processor to: convert video footage, received from afourth camera configured to record video of evaporator coils in a thirdassembled state, wherein the third assembled state comprises the secondassembled state wherein the additional metal tubing has been brazed, togreyscale; isolate, from the greyscale video footage from the fourthcamera, a fifth frame comprising an image of the evaporator coil in thethird assembled state; identify a plurality of feature points in thefifth frame, the feature points comprising corners; determine that asubset of feature points selected form the plurality of feature pointsidentified in the fifth frame are rotationally invariant, wherein apoint is rotationally invariant if it remains identifiable in images ofthe coil taken from a different angle; generate a fifth fingerprintcomprising a binary feature vector for each point in the subset offeature points selected from the plurality of feature points identifiedin the fifth frame; determine that the evaporator coil in the thirdassembled state is associated with the third or fourth fingerprint; andupdate a database to link the fifth fingerprint with the second, third,and fourth fingerprints.